/**********************************************************************************\
** 文件名称: IIC.h
** 创建人员: YCG
** 创建日期: 2018-12-25
** 文档描述:
** 版本代号: V0.1
** 版本说明: 初始版本
\********************************************************************************/
#ifndef __I_I_C_H_
#define __I_I_C_H_
#include "main.h"
#include "uart.h"

#define I2C_USE_HARDWARE
#ifdef I2C_USE_HARDWARE

#define I2C_IS_BUSY  (LL_DMA_GetDataLength(DMA1,LL_DMA_CHANNEL_2))


void IIC_Init(void);
void I2C_SetStart(uint32_t Num,uint8_t* Add);

#else
#define SET_SDA_HIGH  LL_GPIO_SetOutputPin(SDA_GPIO_Port, SDA_Pin);//IIC_DelayUs();//Uprintf("SDA_H\r\n");
#define SET_SDA_LOW   LL_GPIO_ResetOutputPin(SDA_GPIO_Port, SDA_Pin);//IIC_DelayUs();//Uprintf("SDA_L\r\n");
#define SET_SCL_HIGH  LL_GPIO_SetOutputPin(SCL_GPIO_Port, SCL_Pin);IIC_DelayUs(0);//Uprintf("SCL_H\r\n");
#define SET_SCL_LOW   LL_GPIO_ResetOutputPin(SCL_GPIO_Port, SCL_Pin);IIC_DelayUs(0);//Uprintf("SCL_L\r\n");

#define OledDealy(t)  LL_mDelay(t)

void IIC_Start(void);
void IIC_Stop(void);
void IIC_SendByte(uint8_t byte);

#endif

void IIC_DelayUs(uint8_t t);

#endif
/********************************End of File************************************/
